package com.csce.domain.entity.basic;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.osce.common.annotation.Excel;
import com.osce.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产管理对象 basic_asset_list
 *
 * @author zzx
 * @since 2023-09-20
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@ToString
@EqualsAndHashCode(callSuper = true)
public class BasicAssetList extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 名称
     */
    @Excel(name = "名称")
    @ApiModelProperty("名称")
    private String name;

    /**
     * 编号
     */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private String number;

    /**
     * ip地址
     */
    @Excel(name = "ip地址")
    @ApiModelProperty("ip地址")
    private String ipAddr;

    /**
     * 端口
     */
    @Excel(name = "端口")
    @ApiModelProperty("端口")
    private Integer port;

    /**
     * 类型
     */
    @Excel(name = "类型", dictType = "basic_asset_type_dict")
    @ApiModelProperty("类型")
    private Integer type;

    /**
     * 状态
     */
    @Excel(name = "状态", dictType = "basic_asset_status_dict")
    @ApiModelProperty("状态")
    private Integer status;

    /**
     * 单价
     */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private BigDecimal price;

    /**
     * 采购日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("采购日期")
    private Date purchaseTime;

    /**
     * 厂商
     */
    @Excel(name = "厂商")
    @ApiModelProperty("厂商")
    private String vendor;

    /**
     * 厂商电话
     */
    @Excel(name = "厂商电话")
    @ApiModelProperty("厂商电话")
    private String vendorTel;

    /**
     * 存放地点
     */
    @Excel(name = "存放地点")
    @ApiModelProperty("存放地点")
    private String place;

    /**
     * 保修日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保修日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("保修日期")
    private Date warrantyDate;

    /**
     * 预留字段1
     */
    @ApiModelProperty("保修日期")
    private String reservedOne;

    /**
     * 预留字段2
     */
    @ApiModelProperty("保修日期")
    private String reservedTwo;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

}
